#ifndef __MARS_GOBJECT_COMPONENT_H__
#define __MARS_GOBJECT_COMPONENT_H__

#include "MarsObject.h"

using namespace Core;

namespace GObject
{

class Component : public Object
{
public:
	enum							ComponentType
	{
		CT_Unknown    = -1,
		CT_Renderable =  0,
	};

									Component( ComponentType eType);
	virtual							~Component();

	ComponentType					GetType() const;

protected:
	ComponentType					m_eType;
};

inline Component::Component( ComponentType eType )
	: m_eType( eType )
{

}

inline Component::~Component()
{

}

inline Component::ComponentType Component::GetType() const
{
	return m_eType;
}

} // end of namespace GObject


#endif // #ifndef __MARS_GOBJECT_COMPONENT_H__